package c2.cross.business.rank;

import c2.advanced.business.common.CommonModule;
import c2.cross.business.CrossBody;
import c2.cross.business.base.CrossSubModule;
import c2.advanced.business.base.KvData;
import c2.cross.business.rank.core.CrossRankDataModule;
import c2.cross.business.rank.core.CrossRankMsgModule;
import c2.cross.business.rank.data.CrossRankKv;
import c2.cross.business.base.CrossModule;
import cate.common.table.activity.ActivityExcel;
import cate.common.table.activity.crossrankactivity.CrossRankActivityExcel;
import cate.common.table.res.holy_pet.HolyPetExcel;

/** 跨服天梯赛总模块 */
public class CrossRankModule extends CrossModule<CrossRankKv> {
    public CrossRankDataModule data = new CrossRankDataModule();
    public CrossRankMsgModule msg = new CrossRankMsgModule();

    public CrossRankModule(CrossBody context) {
        super(context);
    }

    @Override
    protected String getStatusKey() {
        return KvData.KEY_CROSS_RANK;
    }

    @Override
    protected Class<CrossRankKv> getStatusClass() {
        return CrossRankKv.class;
    }

    @Override
    public String getName() {
        return "跨服排行榜";
    }

    @Override
    protected CrossSubModule<?>[] getSubModules() {
        return new CrossSubModule[]{data, msg};
    }

    public CrossRankDao getDb() {
        return db().rank;
    }

    public CrossRankKv getKv() {
        return status;
    }

    public ActivityExcel getActTable() {
        return table().activity;
    }

    public CrossRankActivityExcel getRankActTable() {
        return table().crossRankAct;
    }

    public HolyPetExcel getHolyPetTable() {
        return table().holyPet;
    }

    public CommonModule getCommon() {
        return common();
    }
}
